	 /**
	  * long data calendar之间的转换
	  */
package NoteBook;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.junit.Test;

/**
 * Date的两种构造方法
 * 1、public Date();  分配一个对象，并初始化，以便它代表它被分配到时间，精确到毫秒
 * 2、public Date(long Date);  分配一个Date对象，并将其初始化为表示从标准基（1970.01.01 0：0：0）时间起指定的毫秒数
 * 
 * Date类的常用方法
 * 1、public long getTime();获得的是日期从1970年1月日00：00：00到现在的毫秒值
 * 2、public void setTime(long time); 设置时间，给的是毫秒值
 * @author Jiang Zhiyan
 *
 * 2021年5月26日 下午2:51:23
 */
public class _18Date {
	@Test
  public void DateTest() {
	Date d1 = new Date();
	System.out.println(d1);  //Thu Jun 03 09:09:35 CST 2021
	
	long date=1000*60*60;
	Date d2 =new Date(date);
	System.out.println(d2); //Thu Jan 01 09:00:00 CST 1970
}
  
  @Test
  public void dateMethodsTest() {
	 Date d = new Date();
	 
	 System.out.println(d.getTime());  //1622727332170
	 System.out.println(d.getTime()*1.0/1000/60/60/24/365+"年");  //51.45634614947996年
	/**
	 * long的使用
	 */
	 long time = System.currentTimeMillis(); 
	 d.setTime(time);
	 System.out.println(d);   //Thu Jun 03 21:35:32 CST 2021
  }
  
  /**
   * simpleDateFormat构造方法：
   *   public  SimpleDateFormat();使用默认模式和日期格式
   *   public  SimpleDateFormat(String pattern) ;构造一个方法使用给定的模式和默认的日期
   *   
   *   格式化：从Date到String
   *    public final String format (Date date);将日期格式化成日期/时间字符串
   *    
   *   解析：从String到Date
   *    public Date parse(String source); 从给定字符串的开始解析文本以生成日期
   *
   *  格式化步骤：
   *    1 Date d new = Date();
   *    2 SimpleDateFormat sdf = new SimpleDateFormat();
   *    3 String s = sdf.format();
   *    
   *  解析步骤：
   *    1 String s = "";
   *    2 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   *    3 Date d = sdf.parse();
   */
  
   @Test
   public void simpleDateFormat() throws ParseException {
	 Date d = new Date();
	 SimpleDateFormat sdf0 = new SimpleDateFormat();
	 System.out.println(sdf0.format(d)); //2021/5/26 下午3:53
	 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH：mm：ss");
	 String s = sdf.format(d);
	 System.out.println(s);  //2021年05月26日 15：50：09
	 
    String ss="2021-05-26 15:47:20";
    SimpleDateFormat sdf2= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date d2 = sdf2.parse(ss);
    System.out.println(d2); //Wed May 26 15:47:20 CST 2021

   }
   
   /**
    * Calendar常用方法
    * 1、public int get(int field) 返回给定日历的值
    * 2、public abstract void add(int field, int amoumt) 根据日历的规则，将指定的时间量添加或减去给定的日历字段
    * 3、public final void set(int year,int month,int date) 设置当前日历的年月日
    */
    
}
